import Vue from 'vue';
import App from './App.vue';
import router from './router';
import ElementUI from 'element-ui';
import VueI18n from 'vue-i18n';
import { messages } from './components/common/i18n';
import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
// import './assets/css/theme-green/index.css'; // 浅绿色主题 
import './assets/css/color-dark.css'; /*深色主题*/
import './assets/css/icon.css';
import './assets/css/main.css';
import './components/common/directives';
import 'babel-polyfill';
import axios from './utils/request';
import { setCookie, getCookie, delCookie } from './utils/cookie.js';
Vue.config.productionTip = false;
Vue.use(VueI18n);
Vue.use(ElementUI, {
    size: 'small'
});
const i18n = new VueI18n({
    locale: 'zh',
    messages
});
//使用钩子函数对路由进行权限跳转
router.beforeEach((to, from, next) => {
    document.title = `${to.meta.title}`;
    //const role = getCookie('userName');
    const role =window.sessionStorage.getItem('userName');
    if (!role && to.path !== '/login') {
        next('/login');
    } else if (to.meta.permission) {
        // 如果是管理员权限则可进入，这里只是简单的模拟管理员权限而已
        //role === 'admin' ? next() : next('/403');
        next();
    } else {
        // 简单的判断IE10及以下不进入富文本编辑器，该组件不兼容
        if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
            Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器，请使用更高版本的浏览器查看', '浏览器不兼容通知', {
                confirmButtonText: '确定'
            });
        } else {
            next();
        }
    }
});

// window.addEventListener("visibilitychange",function(){ //这个方法是监测浏览器窗口发生变化的时候执行
//     if (document.hidden == false && global.ziyouUserId != localStorage.getItem('ziyouUserId')) {
//         console.log('kc-zhangyiyi',global.ziyouUserId)
//       global.ziyouUserId = localStorage.getItem('ziyouUserId') //只有当初始创建的aaa不等于localStorage里面的userId的时候去覆盖掉这个aaa
//     //   window.location.href='/'
//     }
//     //不覆盖的话aaa永远都是我们设的初始值
//   });
window.addEventListener("unload", e => {
    window.localStorage.removeItem('ziyouUserId')
 });

 window.addEventListener("load", e => {
    let ziyouUserId=window.localStorage.getItem('ziyouUserId')
    let ziyouUserIds=window.sessionStorage.getItem('ziyouUserId')
    if(!ziyouUserId && ziyouUserIds){
        window.localStorage.setItem('ziyouUserId',ziyouUserIds)
    }
 });

new Vue({
    router,
    i18n,
    render: h => h(App),
    beforeMount() {
        Vue.prototype.$cookieStore = {
            setCookie,
            getCookie,
            delCookie
        };
        Vue.prototype.$http = axios;
    }
}).$mount('#app');
